home *** CD-ROM | disk | FTP | other *** search
/ CU Amiga Super CD-ROM 15 / CU Amiga Magazine's Super CD-ROM 15 (1997)(EMAP Images)(GB)[!][issue 1997-10].iso / CUCD / Utilities / Post / Source / Global.h < prev    next >
Encoding:
C/C++ Source or Header  |  1997-03-23  |  7.2 KB  |  294 lines

  1. /* Actions */
  2. #define PSACTCREATE    0 /* Create    activation            */
  3. #define PSACTCLOSE    1 /* Close                            */
  4. #define PSACTCLEAR    2 /* Clear                            */
  5. #define PSACTSTARTUP    3 /* Run startup-file            */
  6. #define PSACTFILE        4 /* Load File                        */
  7. #define PSACTRUN        5 /* Run File                        */
  8. #define PSACTFONT        6 /* Load Font                        */
  9. #define PSACTINTER    7 /* Interactive                    */
  10. #define PSACTPAUSE    8 /* Continue after Pause        */
  11. #define PSACTWAIT        9 /* Wait for Subtask            */
  12. #define PSACTAREXX    10/* Interpret ARexx-Command    */
  13.  
  14. /* GadgetID's */
  15. #define    HORIZ_SCROLLER    1
  16. #define    VERT_SCROLLER    2
  17. #define    GAD_LEFT            3
  18. #define    GAD_RIGHT        4
  19. #define    GAD_UP            5
  20. #define    GAD_DOWN            6
  21.  
  22. /* Arexx Errors */
  23. #define    STR_ID_WINDOW_OPEN    0
  24. #define    STR_ID_WINDOW_CLOSE    1
  25. #define    STR_ID_WINDOW_NONE    2
  26. #define    STR_ID_PSFILE            3
  27. #define    STR_ID_PAUSED            4
  28. #define    STR_ID_ARGUMENT        5
  29. #define    STR_ID_PAGE_OK            6
  30. #define    STR_ID_PAGE_FIRST        7
  31. #define    STR_ID_PAGE_HIGH        8
  32. #define    STR_ID_PAGE_LOW        9
  33. #define    STR_ID_RUNNING            10
  34. #define    STR_ID_STRING            11
  35. #define    STR_ID_QUIT                12
  36.  
  37. /* Errors */
  38. #define OPT_COLORS                13
  39. #define OPT_CREATE                14
  40. #define OPT_PENS                    15
  41. #define PUB_SAME                    16
  42. #define PUB_SCREEN                17
  43.  
  44. /* Menu Option ID's */
  45. #define    MENU_NEW                    0
  46. #define    MENU_IFF                    1
  47. #define    MENU_PRINT                2
  48.  
  49.  
  50. #define PSNAME            "POST."
  51. #define AREXXPORTNAME    "POST"
  52. #define AREXXEXTENSION    "post"
  53.  
  54. #define STD_TEMPPATH        "T:"
  55. #define STD_PUBSCREEN    "Workbench"
  56. #define STD_STARTUP        "POST:init.ps"
  57. #define STD_IFFNAME        "Ram:Post???.iff"
  58.  
  59. #define    MAXFILENAME        256
  60.  
  61. #define    PRINT_DEVICE_ERROR    1
  62. #define    PRINT_PORT_ERROR        2
  63.  
  64. #define    GotoPage_CANCEL    111
  65. #define    GotoPage_OK            222
  66.  
  67. #define    ChoosePS_CANCEL    111
  68. #define    ChoosePS_OK            222
  69.  
  70. #define    Options_CANCEL        111
  71. #define    Options_OK            222
  72.  
  73. #ifndef max
  74. #define max(a,b) (a>b?a:b)
  75. #endif
  76.  
  77. struct    WindowOptions
  78. {
  79.     UWORD    WndLeft, WndTop, WndWidth, WndHeight,
  80.             WndZoomLeft, WndZoomTop, WndZoomWidth, WndZoomHeight;
  81. };
  82.  
  83. struct    ScreenOptions
  84. {
  85.     UWORD    ScrWidth, ScrHeight, ScrOverscanType;
  86.     ULONG    ScrDisplayID;
  87.     BOOL    ScrAutoScroll, custscreen;
  88.     char    pubscrname[MAXPUBSCREENNAME+1];
  89. };
  90.  
  91. struct    PostOptions
  92. {
  93.     short    width, height, xoff, yoff, xdpi, ydpi;
  94.     int    fonts, htone, vm, paths;
  95.     int    depth;
  96.     char    iffname[MAXFILENAME];
  97.     int    prden;
  98.     BOOL    centerpage, formfeed, allpages, bandrendering;
  99.     int    from, to, bandsize;
  100. };
  101.  
  102. struct    Options
  103. {
  104.     char        identify[5];
  105.     int        chk;
  106.     BOOL        graphiccard;
  107.     int        bufsize;
  108.     char        temppath[MAXFILENAME], lastdir[MAXFILENAME], lastfile[MAXFILENAME];
  109.     struct    List                startuplist;
  110.     struct    ScreenOptions    Screen;
  111.     struct    WindowOptions    OutputWnd;
  112.     struct    PostOptions        PostOpts;
  113. };
  114.  
  115. struct PSmessage
  116. {
  117.     struct    Message ExecMessage;
  118.     struct    RexxMsg *rmsg;
  119.     short        action;
  120.     int        numofpages, from, to;
  121.     char        file[256];
  122.     char        directory[256];
  123. };
  124.  
  125. struct    startupnode
  126. {
  127.     struct    Node    linknode;
  128.     char        name[MAXFILENAME];
  129. };
  130.  
  131. struct PubScrNode
  132. {
  133.     struct Node node;
  134.     char   name[MAXPUBSCREENNAME+1];
  135. };
  136.  
  137. struct PubScrContext
  138. {
  139.     struct    Screen *pubscreen;
  140.     BOOL        ps_lock;
  141.     BOOL        got_pens;
  142.     BOOL        pens_ok;
  143.     int        depth;
  144. };
  145.  
  146. extern    struct    PubScrContext    pubscrcontext;
  147.  
  148. extern    UWORD    ScrDepth;
  149.  
  150. extern    BOOL    argprint, argiff, 
  151.                     argcustomscreen, argwindow, argcon, pause, running, paused,
  152.                     blit_to_window, bandrendering, os_3, argfile;
  153. extern    BOOL    breakset, ftrapset, interactive, arexx, startup, argverbose;
  154. extern    int    arglen, prden, pden, ioerror, post_count;
  155.  
  156. extern    char    pubscreenname[MAXPUBSCREENNAME+1], undobuff[MAXFILENAME],
  157.                     postpubscrname[MAXPUBSCREENNAME+1], windowtitle[80],
  158.                     *errstr, startdir[256];
  159.  
  160.  
  161. extern    struct    Options TempOptions, Options, NewOptions, PrintOptions,
  162.                         IffOptions, DefaultOptions;
  163.  
  164. extern    AREXXCONTEXT    RexxStuff;
  165. extern    struct            RexxMsg    *rmsg;
  166. extern    ULONG                signals, pause_signal, create_signal;
  167.  
  168. extern    BPTR        errfh, confh;
  169. extern    struct    MsgPort *prport, *mainport, *renderport;
  170. extern    struct    PSparm parm;
  171. extern    struct    IntuiMessage *intmsg;
  172. extern    struct    BitMap bitmap, output_bitmap;
  173. extern    struct    ColorMap colormap;
  174. extern    struct    Screen *custscreen, *screen;
  175. extern    struct    Window *OutputWnd;
  176. extern    APTR        my_VisualInfo;
  177. extern    struct    PropInfo    hscrollinfo;
  178. extern    struct    PropInfo    vscrollinfo;
  179. extern    struct    Gadget    hscrollgadg;
  180. extern    struct    Gadget    vscrollgadg;
  181. extern    struct    Menu *menu0, *menu1, *menu2;
  182. extern    int        winxbase, winybase, winxsize, winysize, winxpos, winypos;
  183. extern    struct    Process *rendertask;
  184. extern    struct    Task *maintask;
  185. extern    struct    Library *PSbase, *AslBase, *GadToolsBase, *IconBase, *UtilityBase;
  186. extern    struct    IntuitionBase *IntuitionBase;
  187. extern    struct    GfxBase *GfxBase;
  188. extern    struct    ExecBase *SysBase;
  189. extern    struct    DosLibrary *DOSBase;
  190. extern    int        propen, retcode, errcode;
  191. extern    int        arec, page_number,  number_of_pages;
  192.  
  193. extern    struct    FileRequester *filereq, *filerequester, *fontrequester;
  194. extern    struct    WBStartup    *_WBenchMsg;
  195.  
  196. extern    char    titlewait[];    
  197. extern    char    titlestart[];
  198. extern    char    titlerunning[];
  199. extern    char    titleinter[];
  200. extern    char    titlepaused[];
  201. extern    char    titlearexx[];
  202.  
  203. extern    int    opt_number;
  204. extern    char    useopts[3][15];
  205. extern    char    saveopts[3][20]; 
  206. extern    BOOL    createerror;
  207. extern    BOOL    createerror;
  208. extern    char    version[];
  209. extern    char    newpubscreenname[];
  210. extern    BOOL    createerror;
  211. extern    int    iffseq;
  212.  
  213.  
  214. /* Assembler routines */
  215.  
  216. extern void insertbreakmain(void);
  217. extern void deletebreakmain(void);
  218. extern void insertbreak(void);
  219. extern void deletebreak(void);
  220. extern void insertftrap(void);
  221. extern void deleteftrap(void);
  222.  
  223. /* Prototypes */
  224.  
  225. void    __saveds __regargs flushpage(int, int);
  226. void    __saveds __regargs copypage(int);
  227. void    __saveds sigintmain(void);
  228. void    __saveds sigint(void);
  229. void    __saveds sigfpe(void);
  230. void    __saveds SubTask(void);
  231.  
  232. void    okmsg(char *);
  233. int    Menu_ScreenMode( void );
  234. void    printpage(struct BitMap *);
  235. void    iffpage(struct BitMap *);
  236. BOOL    retrymsg(char *string);
  237. void    tidyup(void);
  238. int    strtoint(char **sp, int *ip);
  239. void    sendmenu(int action, int, int, int, char *, char *);
  240.  
  241. int    main(int argc, char **argv);
  242. void    ende(void);
  243. void    close_libs(void);
  244. BOOL    open_libs(void);
  245.  
  246. void    ReleaseNeededPens(struct PubScrContext *);
  247. void    GetNeededPens(struct PubScrContext  *);
  248.  
  249. void    errorende(void);
  250. int    parse(int, struct RDArgs *);
  251. BOOL    yesnomsg(char *);
  252. int    splitpage(char *);
  253.  
  254. void    openscreen(void);
  255. BOOL    openpubscreen(struct PubScrContext *, char *);
  256. void    openwindow(void);
  257. void    initbitmap(void);
  258. BOOL    openconwin(void);
  259. void    saveterminate(void);
  260. void    closewindow(void);
  261. BOOL    createactivation(void);
  262. void    deleteactivation(void);
  263. void    runstartupfiles(void);
  264. void    setoptionsgadgets(int);
  265. void    setmenu(void);
  266. void    GetVisual(void);
  267. void    FreeVisual(void);
  268. void    LoadPostOptions(char *, struct Options *);
  269. void    SavePostOptions(char *, struct Options *);
  270. void    ProcessARexx(void);
  271. void    set_scrollers(void);
  272. void    get_scrollers(void);
  273. void    do_gadgets(int, int);
  274. void    do_blit(void);
  275. void    do_screen(void);
  276. BOOL    do_pubscreen(void);
  277. BOOL    do_opts(void);
  278. void    doopts_band(void);
  279. void    doopts_allpages(void);
  280. void    copy_options(struct Options *, struct Options *);
  281. void    setopts(void);
  282. void    sleep_OutputWnd(void);
  283. void    awake_OutputWnd(void);
  284. void    init_list(struct List *);
  285. void    free_list(struct List *);
  286. void    delete_tempfiles(void);
  287. int    nextpage(void);
  288. int    previouspage(void);
  289. int    gotopage(int);
  290. void    changedir(char *);
  291. void    getpath(char *, char *);
  292. void    getfullfilename(char *, char *, char *);
  293. void    sendfile(int);
  294. struct    Node     *get_node(void);